package com.yourenbang.lingyun.transaction.web.service.pay.withdraw.channel;

import com.yourenbang.lingyun.constants.enums.pay.PayFromEnum;
import com.yourenbang.lingyun.core.message.Result;
import com.yourenbang.lingyun.transaction.web.domain.dto.pay.linghuisuan.LinghuisuanAgentpayDTO;
import com.yourenbang.lingyun.transaction.web.domain.dto.pay.linghuisuan.LinghuisuanAgentpayQueryDTO;
import com.yourenbang.lingyun.transaction.web.domain.po.FundAccountWithdrawPayment;
import com.yourenbang.lingyun.transaction.web.domain.vo.pay.hjtx.AgentpayVO;

import java.math.BigDecimal;

public interface LingHuiSuanService {
    /**
     * 代付
     */
    AgentpayVO agentpay(LinghuisuanAgentpayDTO dto);

    /**
     * 代付查询
     */
    boolean checkAgentpayResult(LinghuisuanAgentpayQueryDTO dto);


    /**
     * 提现回调
     */
    Result<FundAccountWithdrawPayment>  withdrawNotice(String requestBody);

    /**
     * 签约回调
     */
    void signNotice(String param);

    /**
     * 是否签约
     */
    Result<String> alreadySign(PayFromEnum payFrom, String userBaseId);

    /**
     * 查询余额
     */
    BigDecimal getBalance();
}
